Odchytenie minimalizacie okna .... Kde je chyba ???
Otázka od: Richard Siegl
23. 9. 2002 9:58
Potrebujem odchytit udalost minimalizacie okna uzivatelom.
Udalosti restore, maxim funguju ale minimalizacia nie .
Neviete kde je chyba ???
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
procedure Zmena(var Message: TMessage); message WM_SIZE;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure tform1.Zmena(var Message: TMessage);
begin
if message.WParam = SIZE_MINIMIZED then ShowMessage('minim');
if message.WParam = SIZE_MAXIMIZED then ShowMessage('maxim');
if message.WParam = SIZE_RESTORED then ShowMessage('resto');
inherited;
end;
----------------------
Richard Siegl
ELAS spol. s r.o.
Vinohradnícka 6
97101 Prievidza
tel.: +421 46 5151239
Email: rsiegl@elas.sk
Web: www.elas.sk
----------------------
Odpovedá: ing. Jan Fiala
23. 9. 2002 11:14
Melo by stacit povesit si vlastni udalost na Application.OnMinimize.
private
procedure ApplicationEventsMinimize(Sender: TObject);
implementation
procedure TForm1.ApplicationEventsMinimize(Sender: TObject);
begin
ShowMessage('minim');
end;
v OnCreate formu:
Application.OnMinimize := ApplicationEventsMinimize;
--
ing. Jan Fiala
mailto:jan.fiala@iol.cz
23.9.2002 Richard Siegl:
> Potrebujem odchytit udalost minimalizacie okna uzivatelom.
> Udalosti restore, maxim funguju ale minimalizacia nie .
> Neviete kde je chyba ???
Odpovedá: Ing. Jiri SOKOL
23. 9. 2002 11:39
> Potrebujem odchytit udalost minimalizacie okna uzivatelom.
> Udalosti restore, maxim funguju ale minimalizacia nie .
> Neviete kde je chyba ???
> procedure tform1.Zmena(var Message: TMessage);
> begin
> if message.WParam = SIZE_MINIMIZED then ShowMessage('minim');
> if message.WParam = SIZE_MAXIMIZED then ShowMessage('maxim');
> if message.WParam = SIZE_RESTORED then ShowMessage('resto');
> inherited;
> end;
Ahoj,
zkus misto ShowMessage pouzit logovani do souboru. Ja myslim, ze je to co do
kodu spravne.
Logicky bych usuzoval, ze aplikace po minimalizaci nema byt aktivni ... tudiz
i zobrazovani hlasky ShowMessage bych nepouzil.
Je to jen myslenka ...
Ahoj Jirka
Ing. Jiri Sokol, js-delphi@seznam.cz, +420251431187
D6ProfSP2,WinNT
amatersky
programator
______________________________________________________________________
Reklama:
Mapy Prahy, Brna a Cech najdete na http://www.mapy.cz
Odpovedá: Richard Siegl
23. 9. 2002 11:03
Dakujem .... funguje to spravne
----- Original Message -----
From: "ing. Jan Fiala" <jan.fiala@iol.cz>
To: <delphi-l@clexpert.cz>
Sent: Monday, September 23, 2002 11:20 AM
Subject: Re: Odchytenie minimalizacie okna .... Kde je chyba ???
> Melo by stacit povesit si vlastni udalost na Application.OnMinimize.
>
> private
> procedure ApplicationEventsMinimize(Sender: TObject);
>
> implementation
> procedure TForm1.ApplicationEventsMinimize(Sender: TObject);
> begin
> ShowMessage('minim');
> end;
>
> v OnCreate formu:
> Application.OnMinimize := ApplicationEventsMinimize;
>
>
> --
> ing. Jan Fiala
> mailto:jan.fiala@iol.cz
>
> 23.9.2002 Richard Siegl:
>
> > Potrebujem odchytit udalost minimalizacie okna uzivatelom.
> > Udalosti restore, maxim funguju ale minimalizacia nie .
> > Neviete kde je chyba ???
>
>
>
Odpovedá: Blazek Jaroslav
23. 9. 2002 11:34
Ahoj,
> rsiegl@elas.sk 23.9.02 11:00 >>>
>Potrebujem odchytit udalost minimalizacie okna uzivatelom.
>Udalosti restore, maxim funguju ale minimalizacia nie .
>Neviete kde je chyba ???
type
TForm1 = class(TForm)
private
procedure WMSysCommand(var AMsg:TMessage); message WM_SYSCOMMAND;
end;
procedure TForm1.WMSysCommand(var AMsg:TMessage);
begin
case AMsg.WParam of
SC_MINIMIZE : ShowMessage('Minimize');
SC_MAXIMIZE : ShowMessage('Maximize');
SC_RESTORE : ShowMessage('Restore');
end;
inherited;
end;
S pozdravem
Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek@access-it.cz
http://www.access-it.cz
ICQ# : 133673990
+420605/813644
Odpovedá: Ondrej Kelle
23. 9. 2002 11:55
> Potrebujem odchytit udalost minimalizacie okna uzivatelom.
type
TForm1 = class(TForm)
private
procedure WMSysCommand(var Message: TWMSysCommand); message
WM_SYSCOMMAND;
end;
implementation
procedure TForm1.WMSysCommand(var Message: TWMSysCommand);
begin
case Message.CmdType and $FFF0 of
SC_MINIMIZE:
ShowMessage('minimize');
SC_MAXIMIZE:
ShowMessage('maximize');
SC_RESTORE:
ShowMessage('restore');
end;
inherited;
end;
> Melo by stacit povesit si vlastni udalost na Application.OnMinimize.
To funguje len pre hlavne okno aplikacie.
HTH
TOndrej
Odpovedá: Blazek Jaroslav
23. 9. 2002 14:07
Ahoj,
> jan.fiala@iol.cz 23.9.02 11:20 >>>
>Melo by stacit povesit si vlastni udalost na Application.OnMinimize.
>Application.OnMinimize := ApplicationEventsMinimize;
timhle to nezajistis ale pro vsechna okna, jen pro to hlavni, pro ostatni musis
odchytavat WM_SYSCOMMAND
S pozdravem
Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek@access-it.cz
http://www.access-it.cz
ICQ# : 133673990
+420605/813644
Odpovedá: ing. Jan Fiala
23. 9. 2002 12:48
23.9.2002 Blazek Jaroslav:
>> jan.fiala@iol.cz 23.9.02 11:20 >>>
>>Melo by stacit povesit si vlastni udalost na Application.OnMinimize.
>>Application.OnMinimize := ApplicationEventsMinimize;
> timhle to nezajistis ale pro vsechna okna, jen pro to hlavni, pro
> ostatni musis odchytavat WM_SYSCOMMAND
Vim, ale predpokladal jsem, ze jde o hlavni okno. Pro MDI aplikaci a
child okna to samozrejme neni...
--
ing. Jan Fiala
mailto:jan.fiala@iol.cz